0_dteUSAGE
This script guages the probability of an underlying moving a certain amount on expiration day, to aid the popular "0 dte" strategy. The script counts how many next-day moves exceeded a given magnitude in the past, under similar conditions. The inputs are:
mark_mode:
- "open": measures the magnitude as "open to close"--a true 0 dte.
- "previous close": for lazy people who don't want to wake up early. measures magnitude from the previous day's close.
move_mode:
- "percent": measures moves that exceed a given percentage.
- "absolute": measures moves that exceed a point value.
move-dir: measure only up moves, down moves, or both.
vol_model: the model for realized volatility. (may add more later).
min_vol: only measure moves when realized vol is above this value.
max_vol: only measure moves when realized vol is below this value.
precision: number of digits printed in the output table.
EXAMPLE:
- mark_mode: "previous close"
- move_mode: "percent"
- move_dir: "up"
- move_mag: 0.07
- vol_model: hv30
- min_vol: 0.2
- max_vol: 0.5
These settings will count the number of trading days that closed 7% higher than the previous day's close, when the previous day's realized volatility (annualized) was between 20% and 50%. The outputs are:
- current vol: green plot. Today's realized vol. Shown for convenience.
- max and min vol: red plots. Also shown for convenience.
- count: the number of days that exceeded the chosen magnitude, when the previous day's realized volatility was within the chosen bounds.
- total: the total number of days where realized volatility was within the chosen bounds
- probability: count / total. the percentage of days that exceeded the move when volatility was within the bounds.
- move: plotted as a purple line. purple "X" labels are plotted above
- bars where the move exceeded the magnitude threshold and volatility was in-bounds. a "hit".
CONCLUSION
This script is based on the idea that realized volatility has some bearing on future volatility. By seeing what happened in the past when volatility was close to its current value, we may be able to assess the probability that our short put will be in the money, tomorrow, and our account devastated.
NOTE: Unlike many of my other scripts, all percentages--both inputs and outputs--are given in fractional form. E.g., 0.01 means 1%.
Cari dalam skrip untuk "THE SCRIPT"
Pivot High/Low Analysis & Forecast [LuxAlgo]Returns pivot points high/low alongside the percentage change between one pivot and the previous one (Δ%) and the distance between the same type of pivots in bars (Δt). The trailing mean for each of these metrics is returned on a dashboard on the chart. The indicator also returns an estimate of the future time position of the pivot points.
This indicator by its very nature is not real-time and is meant for descriptive analysis alongside other components of the script. This is normal behavior for scripts detecting pivots as a part of a system and it is important you are aware the pivot labels are not designed to be traded in real-time themselves
🔶 USAGE
The indicator can provide information helping the user to infer the position of future pivot points. This information is directly used in the indicator to provide such forecasting. Note that each metric is calculated relative to the same type of pivot points.
It is also common for analysts to use pivot points for the construction of various figures, getting the percentage change and distance for each pivot point can allow them to eventually filter out points of non-interest.
🔹 Forecast
We use the trailing mean of the distance between respective pivots to estimate the time position of future pivot points, this can be useful to estimate the location of future tops/bottoms. The time position of the forecasted pivot is given by a vertical dashed line on the chart.
We can see a successful application of this method below:
Above we see the forecasted pivots for BTCUSD15. The forecast of interest being the pivot high. We highlight the forecast position with a blue dotted line for reference.
After some time we obtain a new pivot high with a new forecast. However, we can see that the time location of this new pivot high matches perfectly with the prior forecast.
The position in time for the forecast is given by:
x1_ph + E
x1_pl + E
where x1_ph denotes the position in time of the most recent pivot high. x1_pl denotes the position in time of the most recent pivot low and E the average distance between respective pivot points.
🔶 SETTINGS
Length: Window size for the detection of pivot points.
Show Forecasted Pivots: Display forecast of future pivot points.
🔹 Dashboard
Dashboard Location: Location of the dashboard on the chart
Dashboard Size: Size of the dashboard on the chart
Text/Frame Color: Determines the color of the frame grid as well as the text color
Ultimate Moving Average [CC+RedK]The Ultimate Moving Average was created by myself and @RedKTrader and I can proudly say that this is the holy grail of moving averages. Not only does this moving average react to the current price trends like a normal moving average but we have also included the ability to react to volume, momentum, and volatility. The only thing this moving average can't do is wash your car.
The Ultimate Moving Average doesn't even use a set length so it is fully adaptable to any type of market whether it is choppy or trending. It tightens during volatile markets and loosens during choppy markets. I have included 3 of the main moving averages of a fixed length of 20 days to show you just how much better our moving average is.
The overall concept of this moving average was to fully adapt to any and all changes of the underlying stock. We used my Variable Power Weighted Moving Average as a base and changed the script to adapt to momentum instead. The idea behind this was when momentum reaches an extreme in either direction we tighten the moving average to be able to react accordingly. We then used the idea behind my Variable Length Moving Average to be able to react to volatility and make the length itself into a separate variable.
All of this work combined to create the most reactive moving average out there and I guarantee you will be using this in your daily trading! Let me know if there are any other scripts you would like to see me publish.
Efficient Support & Resistance LevelsThis script is a mixture of my two previous scripts "True Strong Classical Support/Resistance Levels" and "Hidden Supports & Resistances + Round Levels". This combination brings on better identification of the most efficient support/resistance levels.
Note that "Hidden SnR Levels" part of the code is only expected to work on Forex charts, but apart from that, the other parts could be applied to any chart.
The script may:
- Draw classical support/resistance levels which retraced the price previously, aided by multi-timeframe analysis
- Draw hidden support/resistance levels based on psychological patterns of the price
- Adjust to wicks better than Pine Script built-in pivot functions
- Differ the levels color based on chart reactions
- Merge nearby classical levels to avoid congestion on the chart
Feel free to use it and send me your thoughts.
Candle State (The Strat)This script identifies the 2 different Candle States for use in #TheStrat.
Candle Up - The close of the current candle is greater than the close of the previous candle.
Candle Down - The close of the current candle is less than the close of the previous candle.
Though this script is extremely simple it is a teaching aid for #TheStrat.
The script also assists in the identification of up and down candles with gaps where the color of candle will not always match the Candle State.
Analysis of the candle types can help you define actionable signals and draw broadening formations.
Disclaimer: All scripts from this account are for informational purposes only and do not produce buy or sell recommendations.
© 2020 Crinklebine
Auto Adjust To Ideal Pearson's R OscillatorThis is meant to be a partner indicator to "Linear Regression - Auto Adjust To Ideal Pearson's R (Min & Max)" which can be found under my profile on the scripts I have made.
It's important the the ideal Pearsons R + and - ideal ranges are the same as the other script so you can visualize the results better and what is going on. I set them to default to 0.85 for strong confidence levels.
This simply graphs what the Pearsons's R Long Term Trend (Red) and Short Term Trend (Green) are doing. I noticed that they tend to oscillate in predictable ways.
The white line signifies low confidence level in a trend and usually means there is sideways trading going on.
If you are unfamiliar with Pearson's R then below will help:
+ Pearsons R means there is a downtrend
- Pearsons R means there is an uptrend
The closer the value is to 1 the more sure it's a downtrend.
The closer the value is to -1 the more sure it's an uptrend.
For this reason I colored the bottom lines 'green' to indicate buying zones and 'red' for the top lines to indicate potential shorting zones.
If you look at this indicator in replay mode in tandem with my other indicator you will see they work well together to help you identify long term trends.
The default values are 48 and 360 for the minimum allowed length of a trend and maximum length. If you find the script is to slow you can change these but make sure you do it for the values on the other script as well so they line up.
As always the code is open source.
Leavitt Convolutions Multicator - Jay Leavitt, Ph.D.Hot off the press, I present this next generation "Leavitt Convolutions Multicator" employing PSv4.0, originally formulated by Jay Leavitt, Ph.D. for TASC - January 2020 Traders Tips. Basically it's an all-in-one combination of three Leavitt indicators. This triplet indicator, being less than a 60 line implementation at initial release, is a heavily modified version of the original indicator using novel techniques, surpassing Leavitt's original intended design.
Utilizing the "Power of Pine", I included the maximum amount of features I could surmise in an ultra small yet powerful package. Configurations are displayed above in multiple scenarios that should be suitable for most traders.
Features List Includes:
Dark Background - Easily disabled in indicator Settings->Style for "Light" charts or with Pine commenting
AND much, much more... You have the source!
For those of you who are new to Pine Script, this script may also help you understand advanced programming techniques in Pine and how they may be utilized in a most effective manner. Most notably, the script shows how to potentially combine three indicators in one with Pine. This is commonly what my dense intricate code looks like behind the veil, and if you are wondering why there is no notes, that's because the notation is in the variable naming.
The comments section below is solely just for commenting and other remarks, ideas, compliments, etc... regarding only this indicator, not others. When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
TR FVG & Swing High Low FinderTR FVG & Swing Level Finder
Overview:
The TR FVG & Swing Level Finder is a powerful Pine Script indicator designed for traders who want to identify Fair Value Gaps (FVGs) and Swing Highs/Lows on their charts. This indicator combines two essential technical analysis tools into one, helping traders spot potential areas of support, resistance, and trend reversals. FVGs are price gaps that often act as areas of interest for price to return to, while swing highs and lows help identify key turning points in the market. The indicator is highly customizable, allowing users to adjust colors, limits, and display options to suit their trading style.
Key Features:
1: Fair Value Gap (FVG) Detection:
- Identifies Bullish FVGs: Occur when the high of two candles ago is lower than the low of the current candle, indicating a potential upward price movement.
- Identifies Bearish FVGs: Occur when the low of two candles ago is higher than the high of the current candle, indicating a potential downward price movement.
- Displays FVGs as colored boxes on the chart, with customizable border and fill colors based on the timeframe.
- Labels each FVG box with the corresponding timeframe (e.g., "1m FVG", "1h FVG", "Daily FVG").
2: Swing High and Swing Low Detection:
- Detects Swing Highs: A 3-candle pattern where the middle candle's high is higher than the highs of the candles on either side.
- Detects Swing Lows: A 3-candle pattern where the middle candle's low is lower than the lows of the candles on either side.
- Draws a solid black line with 50% opacity at each swing high and low, extending 5 bars to the right for better visibility.
- Adds a small Swing High or Swing Low label at the right end of each line, colored according to user-defined settings.
3: Timeframe-Specific FVG Visualization:
- FVGs are color-coded based on the chart's timeframe, making it easy to distinguish between FVGs on different timeframes.
- Each timeframe has its own fill color for bullish and bearish FVGs, with adjustable transparency for better chart clarity.
- A dashed black line is drawn in the middle of each FVG box to highlight the midpoint of the gap.
4: Customizable Display Options:
- FVG Limit: Control the maximum number of FVGs displayed on the chart (from 1 to 20).
- Extend Options for FVG Boxes:
- "None": FVG boxes extend only 2 bars to the right.
- "Limited": FVG boxes extend a user-defined number of candles to the right (1 to 100 candles).
- "Default": FVG boxes extend 3 bars to the right of the current bar.
- Color Customization:
- Set border colors for bullish and bearish FVGs.
- Adjust fill colors for FVGs on different timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Customize the colors of swing high and swing low labels.
5: Performance Optimization:
- The indicator only plots FVGs and swings on the last confirmed bar (barstate.islastconfirmedhistory), ensuring efficient performance and reducing chart clutter.
- Limits the number of displayed FVGs and swings to the user-defined fvgLimit, keeping the chart clean and focused on the most recent price action.
6: Inputs and Customization:
- Number of FVGs to Show (fvgLimit): Set the maximum number of FVGs and swings to display (default: 3, range: 1 to 20).
- Bullish FVG Border Color (bullishColor): Choose the border color for bullish FVGs (default: green).
- Bearish FVG Border Color (bearishColor): Choose the border color for bearish FVGs (default: red).
- Swing High Color (swingHighColor): Set the color for swing high labels (default: blue).
- Swing Low Color (swingLowColor): Set the color for swing low labels (default: purple).
- Extend Options:
- Extend Option (extendOption): Choose how far FVG boxes extend to the right ("None", "Limited", or "Default"; default: "Default").
- Extend Candles (extendCandles): If "Limited" is selected, specify the number of candles to extend FVG boxes (default: 8, range: 1 to 100).
- Timeframe-Specific Fill Colors:
- Customize fill colors for bullish and bearish FVGs on various timeframes (1m, 5m, 15m, 30m, 1h, 4h, Daily, Weekly, Monthly).
- Each fill color has a default transparency (e.g., 93% for most timeframes, 90% for 30m), which can be adjusted as needed.
How to Use:
1: Add the Indicator to Your Chart:
- Open TradingView, go to the Pine Editor, and paste the script.
- Click "Add to Chart" to apply the indicator to your current chart.
2: Adjust Settings:
- Open the indicator settings by clicking the gear icon next to the indicator name on your chart.
- Modify the inputs to suit your preferences:
- Set the number of FVGs and swings to display.
- Choose your preferred colors for FVGs and swings.
- Adjust the extend options for FVG boxes.
3: Interpret the Indicator:
- FVG Boxes: Look for colored boxes on the chart, which represent Fair Value Gaps. Bullish FVGs (green borders by default) suggest potential buying opportunities, while bearish FVGs (red borders by default) suggest potential selling opportunities. The label inside each box indicates the timeframe of the FVG.
- Swing Highs and Lows: Identify key turning points with solid black lines (50% opacity) at swing highs and lows. Each line extends 5 bars to the right, with an "SH" (Swing High) or "SL" (Swing Low) label at the end. Swing highs can act as resistance levels, while swing lows can act as support levels.
4: Combine with Your Strategy:
- Use FVGs to identify areas where price might return to fill the gap, often acting as support or resistance.
- Use swing highs and lows to spot potential trend reversals or to set stop-loss and take-profit levels.
- Combine the indicator with other tools (e.g., trendlines, moving averages) for a more comprehensive trading strategy.
Notes:
- The indicator works on all timeframes, but the appearance of FVGs and swings will vary depending on the chart's timeframe.
- For best results, use the indicator on a clean chart to avoid visual clutter, especially if you increase the fvgLimit.
- The swing high/low lines are drawn with 50% opacity to ensure they don’t overpower other chart elements, but they are still clearly visible.
Author’s Note:
This script was developed to help traders identify key price levels with ease. I hope it adds value to your trading! If you have any feedback or suggestions for improvement, feel free to leave a comment. Happy trading!
Machine Learning + IchimokuIchimoku Cloud + Machine Learning Levels is an advanced indicator that merges a classic trend tool with machine-learned supply & demand zones. Combining the two can help traders identify trends and key price zones with greater confidence when both signals align!
How it Works
The Ichimoku Cloud component identifies the trend direction and momentum at a glance – it shows support/resistance areas via its cloud (Kumo) and signals potential trend changes when the Tenkan-sen and Kijun-sen lines cross. Meanwhile, the Machine Learning module analyzes historical price data to project potential support and resistance levels (displayed as horizontal lines) that the algorithm deems significant. By combining these, the script offers a two-layer confirmation: Ichimoku outlines the broader trend and equilibrium, while the ML levels pinpoint specific price levels where the price may react. For example, if price is above the Ichimoku Cloud (uptrend) and also near an ML-predicted support, the confluence of these signals strengthens the case for a bounce.
How to Use
Apply the indicator to a chart like any other TradingView script. It works on multiple asset classes (see supported list below). Once added:
Ichimoku Lines
Tenkan-sen (Blue): Short-term average reflecting recent highs/lows.
Kijun-sen (Red): Medium-term baseline for support/resistance.
Senkou Span A (Green) & Senkou Span B (Orange) form the “Cloud” (Kumo). Price above the Cloud often signals a bullish environment; price below it can signal a bearish environment.
Chikou Span (Purple): Plots current closing price shifted back, helping gauge momentum vs. past price.
ML-Predicted Support/Resistance Lines (Green/Red Horizontal Lines)
Green Horizontal Lines – Potential support zones.
Red Horizontal Lines – Potential resistance zones.
These dynamically adjust based on the specific asset and are updated as new historical data becomes available.
Password (for Advanced Features)
In the indicator’s Settings, there is an input field labeled “Password.” The password corresponds to the ticker(s) listed below.
Stocks
TSLA, NVDA, AAPL, AMZN, PLTR, AMD, META, MSFT, MSTR, GOOG, GME, COIN, NFLX, BABA, UBER, HOOD, NKE
Cryptocurrencies
ETH, BTC, SOL, BNB, XRP, ADA, DOT, DOGE, LTC, JUP, LINK, INJ, FET, SAND, HBAR, TRX, SHIB, UNI
(If you attach the indicator to any unlisted ticker, you will only see the Ichimoku Cloud.)
Why It’s Unique
This script is a fresh take on market analysis – it’s original in fusing Ichimoku’s visual trend mapping with machine learning. The Ichimoku framework provides time-proven trend insight, and the ML levels add forward-looking context specific to each asset. By uniting them, the indicator aims to filter out false signals and highlight high-probability zones. No repainting occurs: Ichimoku values are based on closed data, and ML levels are computed from historical patterns (they do not retroactively change).
Ichimoku Cloud + Machine Learning Levels offers an informative blend of old and new analysis techniques. It clearly shows where price is relative to trend (via Ichimoku) and where it might react in the future (via ML levels). Use it to gain a richer view of the market’s behavior. I hope this indicator provides valuable insights for your trading decisions. Happy trading!
SCE Price Action SuiteThis is an indicator designed to use past market data to mark key price action levels as well as provide a different kind of insight. There are 8 different features in the script that users can turn on and off. This description will go in depth on all 8 with chart examples.
#1 Absorption Zones
I defined Absorption Zones as follows.
//----------------------------------------------
//---------------Absorption---------------------
//----------------------------------------------
box absorptionBox = na
absorptionBar = ta.highest(bodySize, absorptionLkb)
bsab = ta.barssince(bool(ta.change(absorptionBar)))
if bsab == 0 and upBar and showAbsorption
absorptionBox := box.new(left = bar_index - 1, top = close, right = bar_index + az_strcuture, bottom = open, border_color = color.rgb(0, 80, 75), border_width = boxLineSize, bgcolor = color.rgb(0, 80, 75))
absorptionBox
else if bsab == 0 and downBar and showAbsorption
absorptionBox := box.new(left = bar_index - 1, top = close, right = bar_index + az_strcuture, bottom = open, border_color = color.rgb(105, 15, 15), border_width = boxLineSize, bgcolor = color.rgb(105, 15, 15))
absorptionBox
What this means is that absorption bars are defined as the bars with the largest bodies over a selected lookback period. Those large bodies represent areas where price may react. I was inspired by the concept of a Fair Value Gap for this concept. In that body price may enter to be a point of support or resistance, market participants get “absorbed” in the area so price can continue in whichever direction.
#2 Candle Wick Theory/Strategy
I defined Candle Wick Theory/Strategy as follows.
//----------------------------------------------
//---------------Candle Wick--------------------
//----------------------------------------------
highWick = upBar ? high - close : downBar ? high - open : na
lowWick = upBar ? open - low : downBar ? close - low : na
upWick = upBar ? close + highWick : downBar ? open + highWick : na
downWick = upBar ? open - lowWick : downBar ? close - lowWick : na
downDelivery = upBar and downBar and high > upWick and highWick > lowWick and totalSize > totalSize and barstate.isconfirmed and session.ismarket
upDelivery = downBar and upBar and low < downWick and highWick < lowWick and totalSize > totalSize and barstate.isconfirmed and session.ismarket
line lG = na
line lE = na
line lR = na
bodyMidpoint = math.abs(body) / 2
upWickMidpoint = math.abs(upWickSize) / 2
downWickkMidpoint = math.abs(downWickSize) / 2
if upDelivery and showCdTheory
cpE = chart.point.new(time, bar_index - 1, downWickkMidpoint)
cpE2 = chart.point.new(time, bar_index + bl, downWickkMidpoint)
cpG = chart.point.new(time, bar_index + bl, downWickkMidpoint * (1 + tp))
cpR = chart.point.new(time, bar_index + bl, downWickkMidpoint * (1 - sl))
cpG1 = chart.point.new(time, bar_index - 1, downWickkMidpoint * (1 + tp))
cpR1 = chart.point.new(time, bar_index - 1, downWickkMidpoint * (1 - sl))
lG := line.new(cpG1, cpG, xloc.bar_index, extend.none, color.green, line.style_solid, 1)
lE := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.white, line.style_solid, 1)
lR := line.new(cpR1, cpR, xloc.bar_index, extend.none, color.red, line.style_solid, 1)
lR
else if downDelivery and showCdTheory
cpE = chart.point.new(time, bar_index - 1, upWickMidpoint)
cpE2 = chart.point.new(time, bar_index + bl, upWickMidpoint)
cpG = chart.point.new(time, bar_index + bl, upWickMidpoint * (1 - tp))
cpR = chart.point.new(time, bar_index + bl, upWickMidpoint * (1 + sl))
cpG1 = chart.point.new(time, bar_index - 1, upWickMidpoint * (1 - tp))
cpR1 = chart.point.new(time, bar_index - 1, upWickMidpoint * (1 + sl))
lG := line.new(cpG1, cpG, xloc.bar_index, extend.none, color.green, line.style_solid, 1)
lE := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.white, line.style_solid, 1)
lR := line.new(cpR1, cpR, xloc.bar_index, extend.none, color.red, line.style_solid, 1)
lR
First I get the size of the wicks for the top and bottoms of the candles. This depends on if the bar is red or green. If the bar is green the wick is the high minus the close, if red the high minus the open, and so on. Next, the script defines the upper and lower bounds of the wicks for further comparison. If the candle is green, it's the open price minus the bottom wick. If the candle is red, it's the close price minus the bottom wick, and so on. Next we have the condition for when this strategy is present.
Down delivery:
Occurs when the previous candle is green, the current candle is red, and:
The high of the current candle is above the upper wick of the previous candle.
The size of the current candle's top wick is greater than its bottom wick.
The total size of the previous candle is greater than the total size of the current candle.
The current bar is confirmed (barstate.isconfirmed).
The session is during market hours (session.ismarket).
Up delivery:
Occurs when the previous candle is red, the current candle is green, and:
The low of the current candle is below the lower wick of the previous candle.
The size of the current candle's bottom wick is greater than its top wick.
The total size of the previous candle is greater than the total size of the current candle.
The current bar is confirmed.
The session is during market hours
Then risk is plotted from the percentage that users can input from an ideal entry spot.
#3 Candle Size Theory
I defined Candle Size Theory as follows.
//----------------------------------------------
//---------------Candle displacement------------
//----------------------------------------------
line lECD = na
notableDown = bodySize > bodySize * candle_size_sensitivity and downBar and session.ismarket and barstate.isconfirmed
notableUp = bodySize > bodySize * candle_size_sensitivity and upBar and session.ismarket and barstate.isconfirmed
if notableUp and showCdSizeTheory
cpE = chart.point.new(time, bar_index - 1, close)
cpE2 = chart.point.new(time, bar_index + bl_strcuture, close)
lECD := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.rgb(0, 80, 75), line.style_solid, 3)
lECD
else if notableDown and showCdSizeTheory
cpE = chart.point.new(time, bar_index - 1, close)
cpE2 = chart.point.new(time, bar_index + bl_strcuture, close)
lECD := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.rgb(105, 15, 15), line.style_solid, 3)
lECD
This plots candles that are “notable” or out of the ordinary. Candles that are larger than the last by a value users get to specify. These candles' highs or lows, if they are green or red, act as levels for support or resistance.
#4 Candle Structure Theory
I defined Candle Structure Theory as follows.
//----------------------------------------------
//---------------Structure----------------------
//----------------------------------------------
breakDownStructure = low < low and low < low and high > high and upBar and downBar and upBar and downBar and session.ismarket and barstate.isconfirmed
breakUpStructure = low > low and low > low and high < high and downBar and upBar and downBar and upBar and session.ismarket and barstate.isconfirmed
if breakUpStructure and showStructureTheory
cpE = chart.point.new(time, bar_index - 1, close)
cpE2 = chart.point.new(time, bar_index + bl_strcuture, close)
lE := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.teal, line.style_solid, 3)
lE
else if breakDownStructure and showStructureTheory
cpE = chart.point.new(time, bar_index - 1, open)
cpE2 = chart.point.new(time, bar_index + bl_strcuture, open)
lE := line.new(cpE, cpE2, xloc.bar_index, extend.none, color.red, line.style_solid, 3)
lE
It is a series of candles to create a notable event. 2 lower lows in a row, a lower high, then green bar, red bar, green bar is a structure for a breakdown. 2 higher lows in a row, a higher high, red bar, green bar, red bar for a break up.
#5 Candle Swing Structure Theory
I defined Candle Swing Structure Theory as follows.
//----------------------------------------------
//---------------Swing Structure----------------
//----------------------------------------------
line htb = na
line ltb = na
if totalSize * swing_struct_sense < totalSize and upBar and downBar and high > high and showSwingSturcture and session.ismarket and barstate.isconfirmed
cpS = chart.point.new(time, bar_index - 1, high)
cpE = chart.point.new(time, bar_index + bl_strcuture, high)
htb := line.new(cpS, cpE, xloc.bar_index, color = color.red, style = line.style_dashed)
htb
else if totalSize * swing_struct_sense < totalSize and downBar and upBar and low > low and showSwingSturcture and session.ismarket and barstate.isconfirmed
cpS = chart.point.new(time, bar_index - 1, low)
cpE = chart.point.new(time, bar_index + bl_strcuture, low)
ltb := line.new(cpS, cpE, xloc.bar_index, color = color.teal, style = line.style_dashed)
ltb
A bearish swing structure is defined as the last candle’s total size, times a scalar that the user can input, is less than the current candles. Like a size imbalance. The last bar must be green and this one red. The last high should also be less than this high. For a bullish swing structure the same size imbalance must be present, but we need a red bar then a green bar, and the last low higher than the current low.
#6 Fractal Boxes
I define the Fractal Boxes as follows
//----------------------------------------------
//---------------Fractal Boxes------------------
//----------------------------------------------
box b = na
int indexx = na
if bar_index % (n * 2) == 0 and session.ismarket and showBoxes
b := box.new(left = bar_index, top = topBox, right = bar_index + n, bottom = bottomBox, border_color = color.rgb(105, 15, 15), border_width = boxLineSize, bgcolor = na)
indexx := bar_index + 1
indexx
The idea of this strategy is that the market is fractal. It is considered impossible to be able to tell apart two different time frames from just the chart. So inside the chart there are many many breakouts and breakdowns happening as price bounces around. The boxes are there to give you the view from your timeframe if the market is in a range from a time frame that would be higher than it. Like if we are inside what a larger time frame candle’s range. If we break out or down from this, we might be able to trade it. Users can specify a lookback period and the box is that period’s, as an interval, high and low. I say as an interval because it is plotted every n * 2 bars. So we get a box, price moves, then a new box.
#7 Potential Move Width
I define the Potential Move Width as follows
//----------------------------------------------
//---------------Move width---------------------
//----------------------------------------------
velocity = V(n)
line lC = na
line l = na
line l2 = na
line l3 = na
line l4 = na
line l5 = na
line l6 = na
line l7 = na
line l8 = na
line lGFractal = na
line lRFractal = na
cp2 = chart.point.new(time, bar_index + n, close + velocity)
cp3 = chart.point.new(time, bar_index + n, close - velocity)
cp4 = chart.point.new(time, bar_index + n, close + velocity * 5)
cp5 = chart.point.new(time, bar_index + n, close - velocity * 5)
cp6 = chart.point.new(time, bar_index + n, close + velocity * 10)
cp7 = chart.point.new(time, bar_index + n, close - velocity * 10)
cp8 = chart.point.new(time, bar_index + n, close + velocity * 15)
cp9 = chart.point.new(time, bar_index + n, close - velocity * 15)
cpG = chart.point.new(time, bar_index + n, close + R)
cpR = chart.point.new(time, bar_index + n, close - R)
if ((bar_index + n) * 2 - bar_index) % n == 0 and session.ismarket and barstate.isconfirmed and showPredictionWidtn
cp = chart.point.new(time, bar_index, close)
cpG1 = chart.point.new(time, bar_index, close + R)
cpR1 = chart.point.new(time, bar_index, close - R)
l := line.new(cp, cp2, xloc.bar_index, extend.none, color.aqua, line.style_solid, 1)
l2 := line.new(cp, cp3, xloc.bar_index, extend.none, color.aqua, line.style_solid, 1)
l3 := line.new(cp, cp4, xloc.bar_index, extend.none, color.red, line.style_solid, 1)
l4 := line.new(cp, cp5, xloc.bar_index, extend.none, color.red, line.style_solid, 1)
l5 := line.new(cp, cp6, xloc.bar_index, extend.none, color.teal, line.style_solid, 1)
l6 := line.new(cp, cp7, xloc.bar_index, extend.none, color.teal, line.style_solid, 1)
l7 := line.new(cp, cp8, xloc.bar_index, extend.none, color.blue, line.style_solid, 1)
l8 := line.new(cp, cp9, xloc.bar_index, extend.none, color.blue, line.style_solid, 1)
l8
By using the past n bar’s velocity, or directional speed, every n * 2 bars. I can use it to scale the close value and get an estimate for how wide the next moves might be.
#8 Linear regression
//----------------------------------------------
//---------------Linear Regression--------------
//----------------------------------------------
lr = showLR ? ta.linreg(close, n, 0) : na
plot(lr, 'Linear Regression', color.blue)
I used TradingView’s built in linear regression to not reinvent the wheel. This is present to see past market strength of weakness from a different perspective.
User input
Users can control a lot about this script. For the strategy based plots you can enter what you want the risk to be in percentages. So the default 0.01 is 1%. You can also control how far forward the line goes.
Look back at where it is needed as well as line width for the Fractal Boxes are controllable. Also users can check on and off what they would like to see on the charts.
No indicator is 100% reliable, do not follow this one blindly. I encourage traders to make their own decisions and not trade solely based on technical indicators. I encourage constructive criticism in the comments below. Thank you.
Choppiness Index (levels)This Pine Script is a Choppiness Index Indicator with gradient visual enhancements. The Choppiness Index is a technical analysis tool that measures the "choppiness" or sideways movement of the market. It ranges from 0 to 100, where higher values indicate a more consolidated or sideways market, and lower values suggest a trending market.
Key Features:
Choppiness Index Calculation:
The script calculates the Choppiness Index based on the Average True Range (ATR) and the highest and lowest prices over a user-defined period (length).
Visual Bands:
Horizontal dashed lines are drawn at levels 55 (Upper Band), 50 (Middle Band), and 45 (Lower Band) to define key levels for interpreting the indicator.
Gradient Fills:
A blue fill is applied between the upper and lower bands (45–55) for visual clarity.
Dynamic gradients are applied to the areas:
Above the Upper Band (55–100): A green gradient fill where the color intensity increases with higher values.
Below the Lower Band (0–45): A red gradient fill where the color intensity increases with lower values.
Offset Option:
The offset input allows users to shift the Choppiness Index plot horizontally for visualization or alignment purposes.
Usage:
This indicator helps traders quickly assess market conditions:
Values above 55 indicate a choppy, non-trending market.
Values below 45 indicate a trending market.
The gradient fills make it easier to spot extreme conditions visually.
Customization:
Users can adjust:
length: The calculation period for the Choppiness Index.
offset: Horizontal shift of the Choppiness Index plot.
The gradient colors (green and red) and transparency levels are customizable in the script.
This enhanced visualization is ideal for traders who want a clear and intuitive representation of market choppiness, combined with visually striking gradient fills for quick analysis of market conditions.
Timezone Highlight v1.0Features Explained:
Customizable Time Settings:
Easily adjust the opening and closing times for each session to fit your local time zone or trading preferences.
Color-Coded Sessions:
New York : Blue
London : Yellow
Tokyo : Red
Sydney : Green
You can modify the colors or transparency in the script.
Dynamic Highlighting:
Automatically highlights the active trading session based on the current time.
This Pine Script is user-friendly and designed to provide immediate visual insights into global market activity. Let me know if you need further enhancements!
Its my first script so please don't be too strict!
M & W Checklistindicator to Validate & Grade M & W Patterns.
Indicator Inputs
Table Color Palette
• Position Valid : Positions the Valid Trade table on the chart.
• Position Grade : Positions the Grade table on the chart, hover over the Column 1 Row 1 for a description of the bands.
• Size: Text size for all tables.
• Text Color : Sets text color.
• Border Color : Sets the table border color for all tables.
• Background Color : Sets table backgroud color for all tables.
Valid Trade Table
Checkboxes to indicate if the trade is valid. Fail is displayed if unchecked, Pass if checked.
Grade Table
• S/R Level 1: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 30% , this means that if there is a pivot point between the neckline and 30% of the TP level I weight it negatively.
• S/R Level 2: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 50% , this means that if there is a pivot point between the neckline and 50% of the TP level 2 weight it negatively but less so than level 1.
• S/R Level 3: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 70% , this means that if there is a pivot point between the neckline and 70% of the TP level 3 weight it negatively but less so than level 1 & level 2.
• Checkboxes are self explanatory, they are binary options, all are weighted negatively if checked and are weighted positively if unchecked. Divergence values for weighting are neutral if unckecked & weighted positively if checked.
• The select options are neutral weighting if set to neutral , if set to For its weighted positive and set to Against weighted negatively.
Technical Specification of the Scoring and Band System
Overview
The scoring system is designed to evaluate a set of technical trade conditions, assigning weights to various criteria that influence the quality of the trade. The system calculates a total score based on both positive and negative conditions. Based on the final score, the system assigns a grade or band (A, B, or C) for positive scores, and a "Negative" label for negative scores.
Scoring System
The system calculates the score by evaluating a set of 12 conditions (gradeCondition1 to gradeCondition12). These conditions are manually input by the user via checkboxes or dropdowns in a technical indicator (written in Pine Script for TradingView). The score weights vary according to the relative importance of each condition.
Condition Breakdown and Weighting:
1. Divergences (GradeCondition1 & GradeCondition2):
◦ 1H Divergence: +5 points if condition is true.
◦ 4H Divergence: +10 points if condition is true (stronger weight than 1H).
2. Support/Resistance at Neckline (GradeCondition3):
◦ Negative if present: -15 points if true (carries significant negative weight).
3. RB near Entry (GradeCondition4):
◦ Very Negative: -20 points if true (this is a critical negative condition).
4. RB can Manage (GradeCondition5):
◦ Slightly Negative: -5 points if true.
5. Institutional Value Zones (GradeCondition6 to GradeCondition8):
◦ For the trade: +5 points.
◦ Against the trade: -5 points.
◦ Neutral: 0 points.
6. S/R between Neckline & Targets (GradeCondition9 to GradeCondition11):
◦ Level 1: -10 points if true, +7 points if false.
◦ Level 2: -7 points if true, +7 points if false.
◦ Level 3: -5 points if true, +7 points if false.
◦ Use fib tool or Gann Box to measure any S/R levels setup according to your preferences.
7. News Timing (GradeCondition12):
◦ News within 3 hours: -20 points if true (strong negative factor).
◦ No upcoming news: +10 points if false.
Scoring Calculation Formula:
totalScore = score1 + score2 + score3 + score4 + score5 + score6 + score7 + score8 + score9 + score10 + score11 + score12
Where:
• score1 to score12 represent the points derived from the conditions described above.
Coloring and Visual Feedback:
• Positive Scores: Displayed in green.
• Negative Scores: Displayed in red.
Band System
The Band System classifies the total score into different grades, depending on the final value of totalScore. This classification provides an intuitive ranking for trades, helping users quickly assess trade quality.
Band Classification:
• Band A: If the totalScore is 41 or more.
◦ Represents a highly favorable trade setup.
• Band B: If the totalScore is between 21 and 40.
◦ Represents a favorable trade setup with good potential.
• Band C: If the totalScore is between 1 and 20.
◦ Represents a trade setup that is acceptable but may have risks.
• Negative: If the totalScore is 0 or less.
◦ Represents a poor trade setup with significant risks or unfavorable conditions.
Band Calculation Logic (in Pine Script):
var string grade = ""
if (totalScore >= 41)
grade := "Band A"
else if (totalScore >= 21)
grade := "Band B"
else if (totalScore >= 1)
grade := "Band C"
else
grade := "Negative"
Technical Key Points:
• Highly Negative Conditions:
◦ The system penalizes certain conditions more heavily, especially those that suggest significant risks (e.g., News in less than 3 hours, RB near Entry).
• Positive Trade Conditions:
◦ Divergences, Institutional Value Zones in favor of the trade, and lack of significant nearby resistance all contribute positively to the score.
• Flexible System:
◦ The system can be adapted or fine-tuned by adjusting the weights of individual conditions according to trading preferences.
Use Case Example:
• If a trade has 1H and 4H Divergence, RB near Entry (negative), and no upcoming news:
◦ 1H Divergence: +5 points.
◦ 4H Divergence: +10 points.
◦ RB near Entry: -20 points.
◦ No news: +10 points.
◦ Total Score: 5 + 10 - 20 + 10 = 5 → Band C.
This modular and flexible scoring system allows traders to systematically evaluate trades and quickly gauge the trade's potential based on technical indicators
Summary:
Maximum Score: 61
Minimum Score: -97
These are the bounds of the score range based on the current logic of the script.
Pivot-based Swing Highs and LowsRelease Notes for Pivot-based Swing Highs and Lows Indicator with HH, HL, LH, LL and Labels
Version 1.0.0
Release Date: 29th Sept 2024
Overview:
This Pine Script version 5 indicator is designed to identify and display Swing Highs and Swing Lows based on pivot points. The indicator visually marks Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), and Lower Lows (LL) on the chart. The release introduces an improved visual representation with dotted lines and colored labels for easy identification of market structure, using plotshape() and line.new().
Key Features:
1. Pivot-Based Swing Identification:
The indicator uses ta.pivothigh() and ta.pivotlow() to detect significant pivot points on the chart.
The length of the pivot can be adjusted through the pivot_length parameter, allowing users to customize the sensitivity of swing identification.
2. Swing Highs and Lows with Labels:
Higher High (HH) and Lower High (LH) points are marked with green downward triangles.
Higher Low (HL) and Lower Low (LL) points are marked with red upward triangles.
The plotshape() function is used to provide clear visual markers, making it easy to spot the changes in market structure.
3. Dotted Line Visuals:
Green Dotted Lines: Connect Higher Highs (HH) and Higher Lows (HL) to their corresponding previous swings.
Red Dotted Lines: Connect Lower Highs (LH) and Lower Lows (LL) to their corresponding previous swings.
The use of color-coded dotted lines ensures better visual understanding of the trend continuation or reversal patterns.
4. Customizable Input:
The user can adjust the pivot_length parameter to fine-tune the detection of pivot highs and lows according to different timeframes or trading strategies.
Usage:
Higher High (HH): Green downward triangle, indicating a new high compared to the previous pivot high.
Lower High (LH): Green downward triangle, indicating a lower high compared to the previous pivot high.
Higher Low (HL): Red upward triangle, indicating a higher low compared to the previous pivot low.
Lower Low (LL): Red upward triangle, indicating a new lower low compared to the previous pivot low.
Dotted Lines: Connect previous swing points, helping users visualize the trend and potential market structure changes.
Improvements:
Label Substitution: In place of label.new() (which might cause issues in some environments), the indicator now uses plotshape() to provide a reliable and visually effective solution for marking swings.
Streamlined Performance: The logic for determining higher highs, lower highs, higher lows, and lower lows has been optimized for smooth performance across multiple timeframes.
Known Limitations:
No Direct Text Labels: Due to the constraints of plotshape(), text labels like "HH", "LH", "HL", and "LL" are not directly displayed. Instead, color-coded shapes are used for easy identification.
How to Use:
Apply the script to your chart via the TradingView Pine Editor.
Customize the pivot_length to suit your trading style or the timeframe you are analyzing.
Monitor the chart for marked Higher Highs, Lower Highs, Higher Lows, and Lower Lows for potential trend continuation or reversal opportunities.
Use the dotted lines to trace the evolution of market structure.
Please share your comments, thoughts. Also please follow me for more scripts in future. Mean time Happy Trading :)
Qualitative and Quantitative Candlestick Score [CHE] Qualitative and Quantitative Candlestick Score
Overview
The Qualitative and Quantitative Candlestick Score is a powerful indicator for TradingView that combines both qualitative and quantitative analyses of candlestick patterns. This indicator provides traders with a comprehensive assessment of market conditions to make informed trading decisions.
Key Features
- Quantitative Analysis: Calculates a quantitative score based on the price movement of each candle.
- Qualitative Analysis: Evaluates candles based on body size, wick size, trend, and trading volume.
- Cumulative Scores: Displays cumulative green (bullish) and red (bearish) scores over a defined period.
- Trend Analysis: Identifies trend direction, strength, and provides trading recommendations (Long/Short).
- Customizable Settings: Adjust parameters for time periods, thresholds, and volume analysis.
Settings and Customizations
1. Time Period Settings:
- Period: Number of periods to calculate moving averages and cumulative scores (Default: 14).
2. Qualitative Evaluation:
- Body Size Threshold (%): Minimum size of the candle body to be considered significant (Default: 0.5%).
- Wick Size Threshold (%): Maximum size of the wicks to be considered minimal (Default: 0.3%).
3. Volume Settings:
- Include Volume in Evaluation: Whether to include trading volume in the qualitative score (Default: Enabled).
- Volume MA Period: Number of periods to calculate the moving average of volume (Default: 14).
4. Trend Settings:
- Moving Average Length: Number of periods for the Simple Moving Average used to determine the trend (Default: 50).
Calculations and Visualizations
- Quantitative Score: Difference between the closing and opening price, normalized to the opening price.
- Qualitative Score: Evaluation based on body size, wick size, trend, and volume.
- Cumulative Scores: Average of green and red scores over the defined period.
- Score Difference: Difference between cumulative green and red scores to determine trend direction.
- Trend Analysis Table: Displays trend direction, trend strength, and trading recommendation in an easy-to-read table.
Plotting and Display
- Cumulative Scores: Displays cumulative green and red scores in green and red colors.
- Score Difference: Blue line chart to visualize the difference between green and red scores.
- Zero Line: Horizontal gray line as a reference point.
- Trend Analysis Table: Table in the top right of the chart showing current trend direction, strength, and trading recommendation.
Use Cases
- Trend Identification: Use the score difference and trend analysis table to quickly assess the current market sentiment.
- Trading Recommendations: Based on the table, decide whether a long or short entry is appropriate.
- Volume Analysis: Including volume helps to better understand the strength of a trend.
Benefits
- Comprehensive Analysis: Combines quantitative and qualitative methods for a deeper market analysis.
- User-Friendly: Easy parameter adjustments allow for personalized use.
- Visually Appealing: Clear charts and tables facilitate data interpretation.
- Flexible: Adaptable to various trading strategies and timeframes.
Installation and Usage
1. Installation:
- Copy the provided Pine Script code.
- Go to TradingView and open the Pine Script Editor.
- Paste the code and save the script.
- Add the indicator to your chart.
2. Customization:
- Adjust the parameters according to your trading preferences.
- Monitor the cumulative scores and the trend analysis table for trading decisions.
Conclusion
The Qualitative and Quantitative Candlestick Score offers a comprehensive analysis of market conditions by combining quantitative and qualitative evaluation methods. With its user-friendly settings and clear visualizations, this indicator is a valuable tool for traders seeking informed and precise trading decisions.
Best regards and happy trading
Chervolino
Developed by: Chervolino
Version: 1.0
License: Free to use and customize on TradingView.
For any questions or feedback, feel free to contact me through the TradingView community.
Note: This indicator is a tool to assist with trading decisions and does not replace professional financial advice. Use it responsibly and thoroughly test it before incorporating it into your trading strategies.
Bull Trade Zone IndicatorThe BULL TRADE ZONE INDICATOR is a powerful trading tool designed to help traders identify optimal entry and exit points in the market. This script uses a combination of two Exponential Moving Averages (EMA) and the Average True Range (ATR) to generate buy and sell signals, making it ideal for traders looking to enhance their trading strategy with precise and timely alerts.
Key Features:
Dynamic Buy and Sell Signals: The indicator generates buy signals when the 14 EMA crosses above the 150 EMA and the price is trading above the 150 EMA. Sell signals are generated when the 14 EMA crosses below the 150 EMA and the price is below the 150 EMA, providing clear guidance on potential market trends.
Built-In Stop-Loss Levels: Automatic stop-loss levels are calculated based on the ATR, helping traders manage risk effectively by setting realistic stop-loss points based on market volatility.
Minimal Chart Clutter: To maintain a clean and focused trading environment, the 14 EMA and 150 EMA values are privately used within the script without being visibly plotted on the chart, ensuring that the focus remains on actionable signals.
Clear Visual Alerts: Buy and sell signals are highlighted directly on the chart with intuitive labels, making it easy to spot trading opportunities at a glance.
Who Is This For?
This indicator is suitable for traders of all levels—whether you are a beginner looking for a straightforward trading tool or an experienced trader seeking to add an additional layer of confirmation to your strategy. The BULL TRADE ZONE INDICATOR helps you stay ahead of the market by precisely identifying key trading zones.
How to Use:
Add the indicator to your chart.
Monitor the buy and sell signals generated by the script.
Use the plotted stop-loss levels to manage your trades effectively.
Customize your trading strategy using the indicator’s signals to align with your risk appetite and market view.
Disclaimer:
This indicator is a technical analysis tool designed to assist with decision-making. It should be used alongside other analyses and strategies, not as the sole basis for trading decisions. Always perform your due diligence and risk management when trading.